﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Entity = VietStar.Library.Entity;
using Business = VietStar.Library.Business;
using System.IO;

public partial class controls_admin_addproduct : System.Web.UI.UserControl
{
    Entity.SanPham clsE_SanPham = new VietStar.Library.Entity.SanPham();
    Entity.DanhMucSanPham clsE_DanhMucSanPham = new VietStar.Library.Entity.DanhMucSanPham();
    Business.DanhMucSanPham clsB_DanhMucSanPham = new VietStar.Library.Business.DanhMucSanPham();
    DataTable dtSanPham = new DataTable();
    Business.SanPham clsB_SanPham = new VietStar.Library.Business.SanPham();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            LoadChuyenMuc(0);
            LoadSanPham();
        }
    }
    private void LoadChuyenMuc(int IdDanhMuc)
    {
        clsE_DanhMucSanPham.Id = IdDanhMuc;
        DataTable dt = clsB_DanhMucSanPham.SelectTheoCap(clsE_DanhMucSanPham);
        if (dt.Rows.Count > 0)
        {
            foreach (DataRow dr in dt.Rows)
            {
                int id = (int)dr["Id"];
                string name = dr["Ten"].ToString();
                int level = (int)dr["Cap"];
                string sub = "";
                for (int i = 1; i <= level; i++)
                {
                    sub += "---";
                }
                name = sub + name;
                ListItem item = new ListItem(name, id.ToString());
                ddlLoaiSanPham.Items.Add(item);
                LoadChuyenMuc(id);
            }
        }
    }
    private void LoadSanPham()
    {
        string action = Request.QueryString["action"].ToString();
        if (action == "add")
        {
            imgSanPham.Visible = false;
            lbTittle.Text = "Thêm sản phẩm";
        }
        if (action == "edit")
        {
            imgSanPham.Visible = true;
            lbTittle.Text = "Sửa thông tin sản phẩm";
            int info = Convert.ToInt32(Request.QueryString["info"].ToString());
            clsE_SanPham.Id = info;
            DataTable dssp = clsB_SanPham.SelectPrimarykey(clsE_SanPham);
            ddlLoaiSanPham.SelectedValue = dssp.Rows[0]["IdDanhMuc"].ToString();
            txtTenSanPham.Text = dssp.Rows[0]["TenSanPham"].ToString();
            txtTomTat.Text = dssp.Rows[0]["TomTatThongTin"].ToString();
            txtDonGia.Text = dssp.Rows[0]["DonGia"].ToString();
            txtXuatXu.Text = dssp.Rows[0]["XuatXu"].ToString();
            txtKhuyenMai.Text = dssp.Rows[0]["KhuyenMai"].ToString();
            lbTenHinh.Text = dssp.Rows[0]["Hinh"].ToString();
            imgSanPham.ImageUrl = "~/images/imageproductadd/" + dssp.Rows[0]["Hinh"].ToString();
            if (Convert.ToBoolean(dssp.Rows[0]["TrangThai"].ToString()) == true)
            {
                ddlTrangThai.SelectedValue = "1";
            }
            else
            { ddlTrangThai.SelectedValue = "0"; }
            fckNoiDung.Value  = dssp.Rows[0]["MoTa"].ToString();
        }

    }
    private bool check(string save)
    {
        bool kiemtra = true;
        if (save != "edit")
        {
            if (fuHinhAnh.FileName == "")
            { Alert.Show("Bạn chưa chọn hình ảnh cho sản phẩm !!!"); kiemtra = false; }
        }
        else if (txtTenSanPham.Text == "")
        { Alert.Show("Bạn chưa nhập tên sản phẩm !!!"); kiemtra = false; }
        else if (txtTomTat.Text == "")
        { Alert.Show("Bạn chưa nhập tóm tắt thông tin cho sản phẩm !!!"); kiemtra = false; }
        else if (txtDonGia.Text == "")
        { Alert.Show("Bạn chưa nhập đơn giá cho sản phẩm !!!"); kiemtra = false; }
        else if (txtXuatXu.Text == "")
        { Alert.Show("Bạn chưa nhập xuất xứ cho sản phẩm !!!"); kiemtra = false; }
        else if (ddlTrangThai.SelectedValue == "2")
        { Alert.Show("Bạn chưa chọn trạng thái cho sản phẩm !!!"); kiemtra = false; }
        else if (ddlLoaiSanPham .SelectedValue == "0")
        { Alert.Show("Bạn chưa chọn loại sản phẩm !!! "); kiemtra = false; }
        else if (fckNoiDung.Value=="")
        { Alert.Show("Bạn chưa nhập nội dung cho sản phẩm !!! "); kiemtra = false; }       
        return kiemtra;
    }
    protected void btnLuu_Click(object sender, EventArgs e)
    {
        string action = Request.QueryString["action"].ToString();
        try
        {
            bool save = false;
            clsE_SanPham.Id = Convert.ToInt32(Request.QueryString["info"].ToString());
            clsE_SanPham.TenSanPham = txtTenSanPham.Text;
            clsE_SanPham.TomTatThongTin  = txtTomTat.Text;
            clsE_SanPham.DonGia = Convert.ToDouble(txtDonGia.Text);
            clsE_SanPham.XuatXu  = txtXuatXu.Text;
            if (txtKhuyenMai.Text != "")
                clsE_SanPham.KhuyenMai = txtKhuyenMai.Text;
            else
                clsE_SanPham.KhuyenMai = "None";
            clsE_SanPham.MoTa = fckNoiDung.Value;
            clsE_SanPham.Xem = 0;
            clsE_SanPham.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlTrangThai.SelectedValue));
            clsE_SanPham.IdDanhMuc = Convert.ToInt32(ddlLoaiSanPham.SelectedValue);
            if (check(action))
            {
                if (action == "add")
                {
                    clsE_SanPham.Hinh = fuHinhAnh.FileName;
                    save = clsB_SanPham.Insert(clsE_SanPham);
                    if (save)
                    {
                        fuHinhAnh.SaveAs(Server.MapPath("~/images/imageproductadd/" + fuHinhAnh.FileName));
                        Alert.Show("Thêm sản phẩm mới thành công !!!"); }
                    else { Alert.Show("Thêm sản phẩm mới không thành công !!!"); }

                }
                if (action == "edit")
                {
                    if (fuHinhAnh.FileName != "")
                    {
                        fuHinhAnh.SaveAs(Server.MapPath("~/images/imageproductadd/" + fuHinhAnh.FileName));
                        File.Delete(Server.MapPath("~/images/imageproductadd/" + lbTenHinh.Text));
                        clsE_SanPham.Hinh = fuHinhAnh.FileName;
                    }
                    else
                    {
                        clsE_SanPham.Hinh = lbTenHinh.Text;
                    }
                    save = clsB_SanPham.Update(clsE_SanPham);
                    if (save)
                    {
                        Alert.Show("Sửa thông tin sản phẩm thành công !!!"); }
                    else
                    { Alert.Show("Sửa thông tin sản phẩm không thành công !!!"); }

                }
            }
        }
        catch
        { }

    }
}
